const express = require('express');
const session = require('express-session');

const app = express();

// 123456 -> aaanbbb
// 加密过程(当前时间、机器码、secret) - > 混入 字符串 "abcdef" -> sdhakdhkasd
// asdasjfdsf
// 使用session中间件
app.use(session({
    // name: 'sid',  // 设置cookie的name，默认值是：connect.sid
    secret: '0825', // 参与加密的字符串（又称签名）
    saveUninitialized: false, //是否为每次请求都设置一个cookie用来存储session的id
    resave: false,// 强制保存 session 即使它并没有变化,。默认为 true。建议设置成 false。
    cookie: {
        httpOnly: true, // 开启后,前端无法通过 JS 操作
        maxAge: 1000 * 30 * 30 // 这一条 是控制 sessionID 的过期时间的！！！
    }
}));

app.get('/', (req, res) => {
    res.send('显示成功');
})

// 设置session
app.get('/set-session',(req,res)=>{

    // 存储内存
    req.session.username = "laowang";
    req.session.age = 18;
    req.session.email = "123@163.com"
    res.send('设置成功');
})

// s%3AXBdQDdVP_ilcL3I5sT4fJEcvhBAdteTX.0KAiT9BoOsRiIJ3b6TzzcUO1h4JOm%2BeI2bHe0e82gns

// 获取session
app.get('/get-session',(req,res)=>{
    // console.log(req.session.aaa);
    res.send(`用户名：${req.session.username}，年龄：${req.session.age},email：${req.session.email}`);
});

//删除session
app.get('/del-session',(req,res)=>{
    req.session.destroy(()=>{
        res.send('删除成功');
    })
});


app.listen(80, () => {
    console.log("启动成功");
})